package com.prothink.threadadmindemo.service;

import com.prothink.threadadmindemo.entity.UserEntity;
import com.prothink.threadadmindemo.vo.AccountVo;
import com.prothink.threadadmindemo.vo.ForgetPwdVo;
import com.prothink.threadadmindemo.vo.UserInfoVo;

import java.util.List;

/**
 * @author mayanping
 * @title: UserService
 * @projectName ThreadAdminDemo
 * @description: TODO
 * @date 2024/9/514:21
 */
public interface UserService {

    List<UserEntity> getUserList();

    void addUser(UserEntity user);

    /**
     * 注册用户
     * @param accountVo
     */
    void registUser(AccountVo accountVo);

    /**
     * 登陆
     * @param accountVo
     */
    UserInfoVo login(AccountVo accountVo);

    /**
     * 根据名称查询用户
     * @param accountName
     * @return
     */
    UserEntity getUserByName(String accountName);

    /**
     * 重置密码
     * @param forgetPwdVo
     */
    void resetPwd(ForgetPwdVo forgetPwdVo);

    /**
     * 重置密码 带附件 负责邮件内容
     */
    void resetPwdWithAttachment(ForgetPwdVo forgetPwdVo);
}
